//
//  AppDelegate.m
//  GCDBenchmark
//
//  Created by 郭晓龙 on 2025/10/9.
//

#import "AppDelegate.h"

// Global variables to store auto-test info
NSString *g_autoTestCase = nil;

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Check if running in auto-test mode by looking for --auto-test parameter
    NSArray *arguments = [[NSProcessInfo processInfo] arguments];
    NSUInteger autoTestIndex = [arguments indexOfObject:@"--auto-test"];

    if (autoTestIndex != NSNotFound && autoTestIndex + 1 < arguments.count) {
        // Store the test case name
        g_autoTestCase = arguments[autoTestIndex + 1];
    }

    // Override point for customization after application launch.
    return YES;
}


#pragma mark - UISceneSession lifecycle


- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
    // Called when a new scene session is being created.
    // Use this method to select a configuration to create the new scene with.
    return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}


- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {
    // Called when the user discards a scene session.
    // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
    // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}


@end
